//
//  UIColor+Extention.h
//  YunHaiManage
//
//  Created by zhangbolin on 2021/12/17.
//

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIColor (Extention)

/**
 * 十六进制颜色类型
 */
typedef unsigned char HexColorType;

/// 返回一个 UIColor 对象
/// @param red 红色色值 (0x00-0xff)
/// @param green 绿色色值 (0x00-0xff)
/// @param blue 蓝色色值 (0x00-0xff)
/// @param alpha 不透明的程度 (0-1)
UIColor *QJNRGBA(HexColorType red, HexColorType green, HexColorType blue, CGFloat alpha) DEPRECATED_MSG_ATTRIBUTE("Use -qjn_colorWithRGBA: instead");

/// 返回一个 UIColor 对象
/// @param red 红色色值 (0x00-0xff)
/// @param green 绿色色值 (0x00-0xff)
/// @param blue 蓝色色值 (0x00-0xff)
UIColor *QJNRGB(HexColorType red, HexColorType green, HexColorType blue) DEPRECATED_MSG_ATTRIBUTE("Use -qjn_colorWithRGB: instead");

/**
 * 从一个Int型的数字中提取颜色值
 *
 * 比如说:
 *
 * 0xff9900   表示 red 为0xff， green 为 0x99，blue 为 0x00， 透明程度为 0x00（取值范围0x00-0xff，越大越透明）
 * 0x80ff9900 表示 red 为0xff， green 为 0x99，blue 为 0x00， 透明程度为 0x80（取值范围0x00-0xff，越大越透明）
 *
 * @param rgbUInt 一个由 int 数表示的颜色值，argb，a表示透明程度；32位，小端
 * @return UIColor
 */
UIColor *QJNIRGB(NSUInteger rgbUInt) DEPRECATED_MSG_ATTRIBUTE("Use -qjn_colorWithRGB: instead");

/**
 * 从一个字符串中提取颜色值，没有透明度
 *
 * @param color 可为：0xd5d5d5、#d5d5d5、d5d5d5
 * @return UIColor
 * @author dandan.chen
 * @date 2015/10/22
 */
UIColor *QJNColorWithHexString(NSString *color) DEPRECATED_MSG_ATTRIBUTE("Use -qjn_colorWithHexString: instead");

/// RGB color 生成UIColor对象
/// @param rgbValue 例如0xff4e3c
+ (UIColor *)qjn_colorWithRGB:(NSInteger)rgbValue;

/// RGB color + 透明度 生成UIColor对象
/// @param rgbValue 例如0xff4e3c
/// @param alpha 透明度 0~1
+ (UIColor *)qjn_colorWithRGB:(NSInteger)rgbValue alpha:(CGFloat)alpha;

/// 使用HEX命名方式的颜色字符串生成一个UIColor对象
/// @param hexString  例如0xd5d5d5、#d5d5d5、d5d5d5, white,gray etc.
+ (UIColor *)qjn_colorWithHexString:(NSString *)hexString;

/// 使用HEX命名方式的颜色字符串生成一个UIColor对象
/// @param hexString 例如0xd5d5d5、#d5d5d5、d5d5d5,white,gray etc.
/// @param alpha 透明度 0~1
+ (UIColor *)qjn_colorWithHexString:(NSString *)hexString alpha:(CGFloat)alpha;

@end

NS_ASSUME_NONNULL_END
